<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
		<title>5.2. Advanced Management of Diagrams</title>
		<link type="text/css" rel="stylesheet" href="PLUGINS_ROOT/org.polarsys.capella.doc/html/styles.css"/>
	</head>
	<body>
		<h1 id="Advanced_Management_of_Diagrams">Advanced Management of Diagrams</h1>
		<h2 id="Synchronized_and_Unsynchronized_Diagrams">Synchronized and Unsynchronized Diagrams</h2>
		<p>Synchronized/Unsynchronized Diagrams, Insert/Remove tools, Show/Hide wizard. The Capella diagram editor is rich and flexible, but at first, the basic concepts may be hard to get. Here, a new Class Diagram Blank is used as an example.</p>
		<p>
			<b>First, we set the diagram Unsynchronized</b>. This means all elements will not be shown automatically.
		</p>
		<p>
			<img height="111" width="344" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_m42fd3f45.png"/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>Using the Type Insert/Remove tool, selection of the Class &ldquo;
			<i>PictureRequest</i>&rdquo;
		</p>
		<p>
			<img height="70" width="170" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_m1f9a28ae.png"/>
			<br/>

			<br/>

			<br/>
		</p>
		<p>
			<img height="89" width="157" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_20ac0b99.png"/>
		</p>
		<p>The Properties of &ldquo;
			<i>PictureRequest</i>&rdquo; are not displayed. This is because the diagram is unsynchronized. Because elements like Properties are not displayed automatically, new tools appear in the diagram palette when switching from Synchronized to Unsynchronized
		</p>
		<p>
			<img height="105" width="299" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_m64a62184.png"/>
		</p>
		<p>Using the Insert/Remove Properties tool, selection of one of the Properties of &ldquo;
			<i>PictureRequest</i>&rdquo;
		</p>
		<p>
			<img height="79" width="184" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_30547e9b.png"/>
		</p>
		<p>The selected (and only the selected) Properties are displayed on the diagram</p>
		<table border="1">
			<tr>
				<td>
					<p>
						<img height="48" width="48" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_3c78e109.png"/>
					</p>
				</td>
				<td>
					<p>
						<b>Synchronizing diagrams</b> 				is the default behaviour of Capella.
					</p>
					<p>
						<b>Un</b>
						<b>-synchronizing 				a diagram</b> is especially useful to 				manage big models:
					</p>
					<ul>
						<li>Physical Components with hundreds of Ports,</li>
						<li>Classes with dozens of Attributes,</li>
						<li>Functions 					with dozens of Exchanges, etc.</li>
					</ul>
				</td>
			</tr>
		</table>
		<p>
			<b>Insert/Remove tools for relationships are helpful:</b> they both allow displaying links between elements already on the diagram and displaying the source / target of the link if not yet on the diagram. Using the Relationships Insert/Remove tool on &ldquo;
			<i>CaptureRequest</i>&rdquo;, selection of the generalization relationship.
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>
			<img height="102" width="381" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_34821f4c.png"/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>
			<img height="132" width="198" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_607b747c.png"/>
		</p>
		<p>The target of the relationship (&ldquo;
			<i>CaptureRequest</i>&rdquo;) is automatically displayed on the diagram, but not its Properties.
		</p>
		<table border="1">
			<tr>
				<td>
					<p>
						<img height="48" width="48" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_3c78e109.png"/>
					</p>
				</td>
				<td>
					<p>
						<b>This kind of Insert/Remove tool for 				relationships is particularly useful for blank diagram as they 				help building the diagram</b> 				(Functional Exchanges in dataflow diagrams, Connections in 				architecture diagrams, etc.).
					</p>
					<p>They 				are less relevant for Contextual Diagrams, which are usually 				based on an automatic analyse and display of relationships given 				one contextual element.</p>
				</td>
			</tr>
		</table>
		<p>
			<b>We now set the diagram Synchronized</b>. The diagram palette is back to its original state, meaning the Properties Insert/Remove tool for example is not present anymore.
		</p>
		<p>
			<img height="220" width="400" border="0" src="Images/5.5_Advanced_Management.png"/>
		</p>
		<p>After a Refresh, all Properties of both classes are displayed. And any new Property added by any mean (editors for example) will be automatically displayed after a Refresh of the diagram.</p>
		<p>
			<img height="160" width="300" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_m5ff89f63.png"/>
		</p>
		<p>Here is a non-exhaustive list of elements in different diagrams that are likely to appear automatically when the diagram is Synchronized: Function Ports, Component Ports, Properties of Classes, Exchange Item Allocations of Interfaces, any existing relationship between two elements on a diagram, Deployed Components, etc.</p>
		<p>Using the 
			<b>Show/Hide wizard</b>, selection of the Properties &ldquo;
			<i>hResolution</i>&rdquo; and &ldquo;
			<i>vResolution</i>&rdquo; of &ldquo;
			<i>PictureRequest</i>&rdquo;.
		</p>
		<p>
			<img height="300" width="350" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_26d60da9.png"/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>
			<img height="160" width="300" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_7ea48f9f.png"/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>The &rdquo;
			<i>hResolution</i>&rdquo; and &ldquo;
			<i>vResolution</i>&rdquo; Properties are not displayed anymore. <u>Their graphical representations still exist on the diagram, but they are not visible anymore</u>. They will not be back after a Refresh.
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<h2 id="Removing_Hidden_Elements_from_Diagrams">Removing Hidden Elements from Diagrams</h2>
		<p>
			<br/>

			<br/>
		</p>
		<p>Working with complex diagrams can be very hard and may slow down user workflows. To enable a better complexity management when dealing with diagrams, Capella provide a &ldquo;Remove hidden elements&rdquo; command. It is accessible from contextual menu on aird files or any model element.</p>
		<p>
			<img height="337" width="490" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_m3f7bce52.png"/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>If the command is launched from the 
			<i>aird</i> it will process all the underlying diagrams. If it is launched from a model element it will process all diagrams under this specific model element. When launched, the command will remove <u>non visible elements</u>. This includes hidden elements but also non visible elements like a FunctionalExchange between a visible Function and a hidden one. A popup window opens inviting user to choose to unsynchronise diargrams.
		</p>
		<p>
			<img height="146" width="490" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_m5af8c4ec.png"/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>In the case of &ldquo;Unsynchronize diagrams&rdquo; is checked, all the elements with 
			<i>Unsynchronizable</i> and 
			<i>Not synchronized</i> mappings will be removed from diagrams.
		</p>
		<p>In the case of &ldquo;Unsynchronize diagrams&rdquo; is unchecked, only elements with 
			<i>Not synchronized</i> mappings will be removed from diagrams.
		</p>
		<p>At the end, the command will report information messages into the Information View. Messages have the following format: Removing &lt;nb_of_elements&gt; elements from diagram: &lt;diagram_name&gt; e.g. Removing 5 elements from diagram: &#91;LAB&#93; Logical System - Logical Architecture Blank</p>
		<p>
			<br/>

			<br/>
		</p>
		<h2 id="Example">Example</h2>
		<p>Let us consider the following LAB diagram:</p>
		<p>
			<img height="419" width="627" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_m18897851.png"/>
		</p>
		<p>If we hide LC1 and C1 we get the following result :</p>
		<p>
			<img height="476" width="868" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_m686bc252.png"/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>LC1 and C1 are now hidden elements.</p>
		<p>Let us now launch the contextual command on Logical System element.</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>
			<img height="449" width="454" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_me90e433.png"/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>If we launch the command with &ldquo;Unsynchronize diagrams&rdquo; checked, LC1 and C1 will be removed from diagram.</p>
		<p>
			<img height="550" width="868" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_5ad072f.png"/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>But if we launch it with &ldquo;Unsynchronize diagrams&rdquo; unchecked, only C1 will be removed from diagram. This is due to the level of synchronisation of the mappings, LC1 has a Not synchronised level and CE1 has an Unsynchronisable level.</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>
			<img height="550" width="868" border="0" src="Images/5.2.%20Advanced%20Managenement%20of%20Diagrams_html_93bd649.png"/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
		<p>
			<br/>

			<br/>
		</p>
	</body>
</html>